pattern printing logic